package coin.yang.meituan;

import java.util.Arrays;

/**
 * @author coinyang
 * @date 2023/10/12 18:02
 */
public class NO2 {
    /*
    第二次:代码题：将数组的奇数放在前面，偶数放在后面输出。
例：［2,3,2,4,5,6］
输出：［3,5,2,2,4,6］
     */

    public static void oddEvenSort(int[] nums) {
        int len = nums.length;
        int i = 0, j = len - 1;
        while (i < j) {
            // 从前往后找到第一个偶数
            while (i < j && nums[i] % 2 != 0) {
                i++;
            }
            // 从后往前找到第一个奇数
            while (i < j && nums[j] % 2 == 0) {
                j--;
            }
            // 交换偶数和奇数的位置
            if (i < j) {
                int tmp = nums[i];
                nums[i] = nums[j];
                nums[j] = tmp;
                i++;
                j--;
            }
        }
    }

    public static void main(String[] args) {
        int[] nums = {2, 3, 2, 4, 5, 6};
        oddEvenSort(nums);
        System.out.println(Arrays.toString(nums));
    }

}
